package servlet;

import java.io.IOException;
import java.util.List;

import javax.ejb.EJB;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bean.remote.ConfiguracionRemote;
import dominio.Configuracion;
import dominio.ModuleType;

/**
 * Busca la list de configuraciones y las muestra
 * Crear una configuracion nueva
 * @author Maxi.Herrera
 *
 */
public class ConfiguracionServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2189696639959913611L;

	@EJB(beanName = "configuracionBean")
	private ConfiguracionRemote configuracionRemote;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {

		List<Configuracion> all = configuracionRemote.findAll();

		String page = "configuraciones.jsp";

		req.setAttribute("data", all);
		// Disptching request
		RequestDispatcher dispatcher = req.getRequestDispatcher(page);

		if (dispatcher != null) {
			dispatcher.forward(req, resp);
		}

	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {

		String idModulo = req.getParameter("idModulo");
		String terminal = req.getParameter("terminal");

		String sincronico = req.getParameter("sincronico");
		String activa = req.getParameter("activa");
		
		String tipoModulo = req.getParameter("tipoModulo");

		Configuracion configuracion = new Configuracion();
		configuracion.setModuleId(Long.valueOf(idModulo));
		configuracion.setTerminal(terminal);

		ModuleType module = null;
		if ((tipoModulo).equalsIgnoreCase(dominio.ModuleType.DESPACHO
				.toString()))
			module = dominio.ModuleType.DESPACHO;
		else if ((tipoModulo).equalsIgnoreCase(dominio.ModuleType.LOGISTICA
				.toString()))
			module = dominio.ModuleType.LOGISTICA;
		else if ((tipoModulo).equalsIgnoreCase(dominio.ModuleType.PORTAL
				.toString()))
			module = dominio.ModuleType.PORTAL;

		configuracion.setModuleType(module);
		configuracionRemote.crear(configuracion);
	}
}
